iT邦幫忙

0

Tofy開發日誌 #4

  • 分享至 

  • xImage
  •  

數學習作還沒寫完.....

Tofy開發日誌 #4

時間 2024/9/23 下午7:51
地點 我房間


今天回到第一張地圖修改了一些Bug,其中有關於移動物件以及旋轉物件的指令。

首先,這是目前遇到的Bug
https://ithelp.ithome.com.tw/upload/images/20240923/20169664umyoiWmUM1.png

我有使用到移動動畫,但因為整體物件已經整個跑位了,所以要把他們全部歸位,那其實也非常簡單,我們只需要使用到幾行簡單的指令就可以搞定

local Remote = game:GetService("ReplicatedStorage"):WaitForChild("PlayerTriggered")
script.Parent.Triggered:Connect(function(player)
	workspace:WaitForChild("TofyJS"):PivotTo(CFrame.new(-427.303, 4.27, 268.23)*CFrame.Angles(0, math.rad(90), 0))
	script.Parent.Enabled = false
	Remote:FireClient(player)
end)

此程式碼包含了許多指令,當然今天沒有要討論這麼多。
我們今天著重在這一行

workspace:WaitForChild("TofyJS"):PivotTo(CFrame.new(-427.303, 4.27, 268.23)*CFrame.Angles(0, math.rad(90), 0))

這一行控制了這個模型的位置Position,正常情況下一個移動一個Part只需要調整他的CFrame就可以了,但因為上面的這個對象是一個Model,也就是由許多模型組成的群組,我們無法改變這個模型的CFrame,所以這個時候就需要使用一個叫做":PivotTo()"的指令,這個指令的作用為改變此模型的中心物件的CFrame,當然這之前有一個大前提,模型的中心物件必須要錨定(意思就是不受重力影響,會一直在固定的方位,除非我們使用指令改變),而中心物件以外的物件必須要關閉錨定。

接下來將會介紹各種可以改變物體方位的指令

CFrame "coordinate frame"的縮寫,一種在Roblox中表示座標的型態(處裡在Roblox中3D資料的基本運算,可改變物體的位置Positional、旋轉角度Rotational)
--CFrame是一個很複雜的指令,他有許多簡單以及複雜的功能,今天不會講那麼多,有興趣的話來看看API吧:
https://create.roblox.com/docs/workspace/cframes

CFrame.new(數值, Vector3) 定義一個新的CFrame變數(new後面的括號可以放入數值X, Y, Z,也可放入Vector3數值)

CFrame.LookAt(位置(Vector3), 看的方向(Vector3), 位置上方(Vector3)) 定義一個新的CFrame變數,與new不同的是,這邊可以定義出物體要看的方向,以及物體上方的方位(通常不會用到第三個,因為基本上有前面兩個數值就已經足夠達到我們要求的方位了)

CFrame.Angles() 定義一個新的CFrame變數,此變數改變的是物體的旋轉角度(Angles裡面放的數值是X, Y, Z的旋轉角度,API裡面寫的rx, ry, rz就是旋轉角度的意思)

Vector3 Roblox中的另一種表示座標的型態(超級複雜,把他想成是可以做複雜運算的CFrame就好了,平常做遊戲不會用到太多的運算,除非你的物體移動需要使用到,另外我說的複雜運算就類似於加減乘除這類的都可以做到)
--想了解更多關於Vector3的來看看API(雖然我自己看不懂就是了)
https://create.roblox.com/docs/reference/engine/datatypes/Vector3

基本上我們會使用到的指令就只有這些,當然也會有其他更複雜的改變方位的方式,但真的不常用到

如果你有實際使用過CFrame或Vector3的話,你一定會遇到一個問題,那就是要如何讓物體平滑的移動呢? 剛才說到,CFrame與Vector3都是用來"移動"一個物體的,代表他們的工作只負責把物體從A點拿到B點(或拿到其他點之類的),他們並沒有讓物體順順的從A點滑到B點的功能,而這就是我的下一篇日誌要寫的內容了。(也是我在上面的Bug那一小段指令的下面的內容,也就是移動動畫)

然後關於為什麼這篇日誌晚了一天才出,主要是因為我跑去寫數學習作然後寫到睡著了(溝咩捏🙏)

以上就是今日(才寫完)的日誌。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言